package com.bst.etl.mapper;

import com.bst.etl.domain.EtlDrawDm;
import com.bst.etl.domain.EtlDrawDw;
import com.bst.etl.vo.EtlDrawDmExtParamVO;
import com.bst.etl.vo.EtlDrawDmExtVO;
import com.bst.md.domain.MdIndex;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 数据集市Mapper接口
 * 
 * @author ruoyi
 * @date 2022-07-17
 */
public interface EtlDrawDmMapper 
{
    /**
     * 查询数据集市
     * 
     * @param idDrawDm 数据集市主键
     * @return 数据集市
     */
    public EtlDrawDm selectEtlDrawDmByIdDrawDm(Long idDrawDm);

    /**
     * 查询数据集市列表
     * 
     * @param etlDrawDm 数据集市
     * @return 数据集市集合
     */
    public List<EtlDrawDm> selectEtlDrawDmList(EtlDrawDm etlDrawDm);

    /**
     * 新增数据集市
     * 
     * @param etlDrawDm 数据集市
     * @return 结果
     */
    public int insertEtlDrawDm(EtlDrawDm etlDrawDm);

    /**
     * 修改数据集市
     * 
     * @param etlDrawDm 数据集市
     * @return 结果
     */
    public int updateEtlDrawDm(EtlDrawDm etlDrawDm);

    /**
     * 删除数据集市
     * 
     * @param idDrawDm 数据集市主键
     * @return 结果
     */
    public int deleteEtlDrawDmByIdDrawDm(Long idDrawDm);

    /**
     * 批量删除数据集市
     * 
     * @param idDrawDms 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEtlDrawDmByIdDrawDms(String[] idDrawDms);

    List<EtlDrawDm> findByIdIndexs(List<String> idIndexs);

    List<EtlDrawDm> selectEtlDrawDmByIndex(MdIndex mdIndex);

    List<EtlDrawDmExtVO> selectEtlDrawDmExt(EtlDrawDmExtParamVO paramVO);

    List<EtlDrawDm> selectEtlDrawDmByIdTemplate(@Param("idTemplate") Integer idTmplate);
}
